home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1997 December / macformat-057.iso / mac / Shareware Plus / Developer / Object Plant 1.4 / Object Plant README 1.4 < prev    next >
Encoding:
Text File  |  1997-08-10  |  21.6 KB  |  395 lines  |  [TEXT/ttxt]

  1. The Object Plant 1.4
  2.  
  3. Date of Release: 10 August 1997
  4.  
  5. The Object Plant is a OOA/OOD tool based on the OMT notation. It can be used to create
  6. Object Models, State Diagrams, Event Trace Diagrams and finally it can generate C++
  7. code skeletons.
  8.  
  9. The Object Plant folder contents:
  10. - Object Plant README 1.4       this file
  11. - Object Plant                          PowerPC version of the program
  12. - 68k Object Plant                   68k version of the program
  13. - C++ Data Types                      text file with a subset of the standard C++ types
  14. - C++Template.cc                     template file for generation of C++ code skeletons
  15. - C++Template.h                       template file for generation of C++ code skeletons
  16. - Class.java                             template file for generation of Java code skeletons
  17. - Interface.java                       template file for generation of Java code skeletons
  18. - HTML Class template             template file for generation of class HTML
  19.                                                 documentation
  20. - HTML Interface template       template file for generation of interface HTML
  21.                                                 documentation
  22. - User's manual                        the user's manual in pdf (Acrobat) format
  23. - Example (Object Plant)         an example document
  24. - Register                                program for creating register forms to be sent to Kagi 
  25.  
  26.  
  27. Requirements:
  28. System 7.1 or later
  29. 68020 or better
  30. 2 Mb free RAM
  31.  
  32. Registering
  33. To register use the Register program to create a register form which then shall be sent
  34. to Kagi Shareware using mail, email or fax.
  35.  
  36. The price for a single license is 25 USD, there are also site and world licenses available for
  37. 500 USD resp. 2000 USD.
  38.  
  39. http://www.kagi.com
  40. Email: shareware@kagi.com        (1 to 3 day processing time delay)
  41. FAX: +1 510 652 6589            (4 to 8 day processing time delay)
  42. Postal address:                       (4 to 8 day delay plus transit time to Kagi)
  43. Kagi
  44. 1442-A Walnut Street #392-MU
  45. Berkeley, California, 94709-1405
  46. USA
  47.  
  48. Please note that Kagi automatically rejects any electronic payment that come includes
  49. a hotmail.com address. Refer to http://www.kagi.com/FAQs/hotmail.com
  50.  
  51. N.B. Kagi is a payment processing company and they are not the author/shipper of the
  52. product. Any problems with receiving registration codes or any problems with the product itself shall be addressed to the author at m-arc@algonet.se or micke@kagi.com
  53.  
  54. Registration codes will be sent to you normally within a week after receive a
  55. confirmation of your order from Kagi.
  56.  
  57.  
  58. Disclaimer
  59. This software is provided "as-is". I take no responsiblity in any damage caused by the
  60. software, use of the software or any of its outputs such as generated code. Use it at
  61. your own risk.
  62.  
  63. Changes in 1.4 (10 Augusti 1997)
  64. • Corrected some problems with "Export Page...". When "Best fit" is selected a best fit
  65.    will actually be done when exporting in EPS format. This was not true in previous
  66.    releases.
  67. • Class names are sorted in popup-menus. Not a complete sorting but only on the first 4
  68.    characters (to make it fast).
  69. • Screen update problems when opening and closing description box for operations has
  70.    been fixed.
  71. • Added package tool in all diagrams.
  72. • I have tried to make it easier to grab line selection boxes.
  73. • UML generalization arrows are now prettier.
  74. • Removed ... from New in file menu.
  75. • Added possibility to declare a operation/attribute final. This is useful when
  76.    generating Java code. New Java templates will be released later.
  77. • Added possibility to declare an initial value for attributes. Useful for Java.
  78. • Corrected bug related to copying of static methods. Now the static flag is copied
  79.    correctly.
  80. • Corrected a bug that made the Copy command only copy the visible area of a window,
  81.    not all selected items.
  82. • Corrected a crash bug related to Notes.
  83. • Corrected a crash bug related to deleting items in Event Trace diagrams.
  84. • Larger selection area for threads.
  85. • No drag-and-drop if the system doesn't support it. Should make it possible to run
  86.    under 7.1 again.
  87. • Corrected screen update problem when editing the class name in the main window.
  88. • When editing an item's name in a main window (by clicking on the name and the name
  89.    turns into a editable textfield), the textfield will now revert to non-editable when
  90.    hitting the return key.
  91. • Correctly quite a few crash bugs. Earlier versions of the program left items in the
  92.    model even if you deleted them. These "dangling" items were often the cause of
  93.    crashes.
  94. • Corrected a problem related to copy&paste. If you had copied an operation (or
  95.    attribute) and then tried to copy&paste a text in a class info window, the text
  96.    didn't get copied but only the last copied operation.
  97. • The grow icon in the right lower corner was missing in the Page info window when
  98.    the window was resized. This has now been fixed.
  99. • When opening a document with windows larger than the current screen, the windows
  100.    are automatically resized to fit the current screen.
  101. • Added consistency checks that are run when opening a document. They are fast and
  102.    shall not be noticable to the user but adds a great deal of security. Should reduce
  103.    the possibility of crashing when deleting items, or when closing a document.
  104. • This version includes traceback symbols to give better logs if (when?) crashing.
  105. • Deleting an operation no longer causes a crash.
  106. • Deleting a class with references on other pages no longer causes a crash.
  107. • Fixed a crash bug related to classes with associations.
  108. • Fixed a bug that made some attributes invisible when drag-and-drop a new attribute.
  109.    (Same goes for operations.)
  110. • Exported pictures shall no longer contain "selection handles".
  111. • Better scrollbar handling.
  112. • Made the Copy Protection scheme "smarter". Even if Object Plant crashes you should
  113.    be able to restart it on the same machine without getting that annoying "...another
  114.    copy with the same registration number..." message. Perhaps it is a bit too "smart".
  115. • The description field in page info windows will now be resized if you resize the
  116.    dialog window.
  117. • The popup menu in the state page info window will now be redrawn when you change
  118.    the window size.
  119. • You can add and delete parameters in the operation dialog window. Although the Add
  120.    Parameter menu item isn't active (I haven't figured out to get it active in a modal
  121.    dialog) the shortcut (shift-command-P) is active and can be used to add a parameter.
  122.    To delete a parameter select the parameter by clicking on the parameter and the 
  123.    press either delete or backspace.
  124. • Restructured the preferences dialog and moved it to the Edit menu.
  125. • Names can be edited without bringing up a dialog window. This goes for class names, 
  126.    interface names, state names, event trace thread names, use case names, package
  127.    names, and actor names. Just click on the name, hold the mouse still and it changes
  128.    into an editable text field. Clicking somewhere outside the name, changes the
  129.    textfield back to non-editable.
  130. • If the "Open info window on create" option is disabled, the editable text field will be
  131.    enabled immediately when creating an item.
  132. • Added a "Synchronized" flag for operations.
  133. • Added an "Abstract" flag for operations (which is only enabled when the class is
  134.    abstract and makes it possible to generate code for both virtual and pure virtual
  135.    functions).
  136. • The align dialog remembers its settings and position on screen.
  137. • New set of icons. You may need to rebuild your desktop to see the new icons.
  138. • Added the option to select which Object Model pages that should generate code.
  139.    Doubleclick on the page's name in the page palette and you will find a checkbox in
  140.    dialog window which can be checked for pages that shall generate code. Pages that
  141.    generate code are marked with an asterisk at the right end of the page palette list.
  142. • Removed the "Other..." item in popup menus. Now there is a textfield which can be
  143.    used to enter types not available in the popupmenu. This is more in line with
  144.    Apple HIG.
  145. • Corrected a bug that made operations and attributes disappear if
  146.    dragged-and-dropped onto themselves.
  147. • Added feedback indication where drag-and-dropped items are being dragged to.
  148. • Corrected some bugs related to closing of a document (after it has been saved). These
  149.    bugs caused crashes occasionally.
  150. • Corrected a bug related to selection in dialog windows. Previously it was possible to
  151.    have an operation selected as well as a text area. If you tried to copy the text
  152.    (Edit->Copy) you would get the operation instead of the text. Now only one selection
  153.    shall be active at any time.
  154. • Added Use Case diagrams.
  155. • New line drawing algorithms in the Use Case window. You can select if you want a
  156.    line to always stay rectilinear or if shall be oblique. Furthermore the "snap-to-grid"
  157.    option is implemented in the Use Case diagram.
  158. • Fixed a crash bug related to notes in the Event Trace window.
  159. • And a lot more...
  160.  
  161.  
  162. Known Bugs
  163.  
  164. • The main windows sometimes look "messy". Everything is not erased properly when
  165.    moving parts around.
  166. • Illustrator has some problems parsing exported pictures (PICT format). All
  167.    textstrings are drawn in a white colour, hence they are invisible.
  168. • The names of generalizations, aggregations and associations are never displayed. 
  169. • Moving a set of relationsships and classes can sometimes leave some of the lines
  170.    behind. 
  171. • If you use code generation, you cannot use the ':' character in class names.
  172. • Line drawing is not very good. When changing between different views lines are not
  173.    updated (adjusted) as expected.
  174. • The Java templates are not updated to handle the "final" and "Initial value" model
  175.    fields.
  176. • If the "Page Setup" or "Print Page" commands do not work, try selecting a printer in
  177.    the chooser.
  178. • Snap to grid is only implemented in the Use Case diagram page.
  179. • Packages cannot be copied.
  180.  
  181. Use the web-page http://www.softsys.se/ObjectPlant/ to get new releases, report bugs etc. 
  182.  
  183. Questions concerning the program can be sent directly to the author at m-arc@algonet.se or
  184. micke@kagi.com
  185.  
  186.  
  187. This program should only travel in the complete folder.
  188.  
  189. Have fun,
  190.  
  191.                 Mikael Arctaedius
  192.         Stockholm, Sweden
  193.  
  194.         email: m-arc@algonet.se
  195.         http://www.softsys.se/ObjectPlant/
  196.  
  197.  
  198. Release History
  199.  
  200.  
  201. Changes in 1.3.4 (1 May 1997)
  202. • Corrected a bug that could corrupt the object model (or state model) when using
  203.    several pages.
  204. • Pressing TAB in a dialog window (i.e. a class dialog window) will move the
  205.    text-cursor to the next textfield but now also select that text.
  206. • Added copy of PICT to the clipboard (consider this to be a beta version) making it
  207.    possible to easy insert graphics into other documents.
  208. • If there are unterminated strings in a template file, Object Plant will give you a
  209.    syntax error warning and not crash into MacsBug (or the Finder if you don't have
  210.    MacsBug).
  211. • Corrected a bug that could make Object Plant crash if generating code when the first
  212.    page had no real classes only subsystems. If it didn't crash, it didn't either generate
  213.    any code for the classes in the subsystems.
  214. • Corrected some bugs related to generalizations. It wasn't possible to make a
  215.    multibranch generalization between interfaces. And Object Plant could crash if you
  216.    tried to make a branch from a interface generalization to a class.
  217. • Added a consistency check that is run whenever you open a file. It will only detect
  218.    some of the possible consistency errors. If any errors are found, they can be fixed by
  219.    Object Plant.
  220. • Corrected a bug that made it impossible to resize an event trace box when
  221.    interactions were connected to the very top of the box.
  222. • Removed calls to AddResource when creating popup menus. This will make it possible
  223.    to run a locked copied of Object Plant, e.g. from a CD. It will also reduce the
  224.    possibility of running into problems when creating lots of popup menus.
  225. • Opening a file with very large windows on a small screen will automatically resize
  226.    the windows to fit within the screen (in a single monitor configuration).
  227. • Corrected minor UI bugs.
  228.  
  229. Changes in 1.3.3 (19 April 1997)
  230. • Change the way File->Save and Save As operations are implemented. Now the
  231.    implementation is in line with what Inside Macintosh recommends. This includes
  232.    using a temporary file during save and when the save is completed, the temporary
  233.    file and the project file is replaced. This make it less possible that Object Plant will
  234.    corrupt project files if crashing during save.
  235. • Removed a CDEF that was incompatible with MacOS 8.0a.
  236.  
  237. Changes in 1.3.2 (1 April 1997)
  238. • Corrected a bug that occured when deleting pages. Both Object Model pages and State
  239.    Diagram pages were affected by this bug. The crash occured when trying to save a
  240.    document with a deleted page.
  241.  
  242. Changes in 1.3.1 (21 March 1997)
  243. • Corrected the bug that caused a crash when adding new data types in the
  244.    File->Document Info->Data Types dialog.
  245. • Corrected some bugs related to the copy function. Copying some parts of a state
  246.    diagram or an event trace diagram, caused a user break into Macsbug.
  247.  
  248. Changes in 1.3 (28 Feb 1997)
  249. • Started implementation of the Unified Modeling Language notation. You can set the
  250.    notation used for a document in the File->Document Info->General dialog. The default
  251.    is OMT.
  252. • Reference items (class or interface) are now displayed with its name as "page::class
  253.    name"' where page indicates which page the original item belongs to. This makes it
  254.    is easier to see which items that are references and also to locate the original item.
  255. • Better code generation. Less empty lines. Tabs handled better etc. Please note that if
  256.    you have your own customized code generation template files they maybe have to be
  257.    modified. Any '"' (quote) characters must be included into a string. A string is
  258.    enclosed by "" (quotes). Within a string special characters like '\t', '"', '\\' may be
  259.    used, just like a C-string.
  260. • Added Input/Output information to operation parameters. This may be used to
  261.    generate CORBA IDL code.
  262. • Extended the code generation template language. Some of the new tags will not work 
  263.    correctly on old files. This applies to the following tags {CONSISTOFLIST},
  264.    {PARTOFLIST}  and {ASSOCLIST}. These tags are used in the HTML template file.
  265. • Added the '$' character in front of static operations and attributes in the Object
  266.    Model.
  267. • Made it possible for interfaces to inherit each other.
  268. • Made it possible to have an association between a class and an interface.
  269. • Added more template files: Java code generation and HTML documentation.
  270. • Added an example project file.
  271. • Corrected some UI glitches in the class dialog window.
  272. • Corrected the bug that made operations and attributes created after a drag-and-drop
  273.    disappear.
  274. • Drag-and-drop operations now mark the file as dirty.
  275. • The static-field of an attribute is now correctly copied when using copy-paste.
  276. • Corrected a bug that made Object Plant crash if you closed all three main windows,
  277.    accepted to close the document and then did cancel the save operation.
  278. • Corrected a bug that made Object Plant crash if altering a document that was
  279.    previously saved with any other page selected that the very first in either the Object
  280.    Model or the State Diagram.
  281. • Better region handling makes it easier to draw branches from generalization
  282.    "triangles" and aggregation "diamonds".
  283. • A non-registered program can create max 20 classes and max 20 interfaces.
  284. • Added a shortcut button in the "Other datatype" dialog which you can use to
  285.    immediately add a new datatype to the document's list of data types.
  286. • And much more...
  287.  
  288. Changes in 1.2.4 (6 Feb 1997)
  289. • Deleting a reference item such as a class reference corrupted the object model.
  290.    Having a corrupt object model could either cause a crash at opening, saving or closing
  291.    the document. This bug is fixed in 1.2.4.
  292.  
  293. Changes in 1.2.3 (4 Feb 1997)
  294. • When creating an association it was not always drawn. This occured when the two
  295.    classes were "misaligned" forcing the association to use two right-angled lines.
  296.    Having an association with no lines could cause crashes when saving or opening the
  297.    document or even moving one of the two classes.
  298. • The qualifier box of the "client" side of an association was not moved if that endpoint
  299.    of the association was moved.
  300.  
  301. Changes in 1.2.2 (15 Jan 1997)
  302. • Corrected a bug that made it impossible to make reference classes (and interfaces)
  303.    refering to classes (interfaces) located on other pages than the very first Object
  304.    Model page.
  305. • Corrected a bug that sometimes caused Object Plant to crash when closing a
  306.    document.
  307. • Added EPS support for suppliers.
  308. • Corrected a bug that made it impossible to use the knife tool on supplier lines.
  309. • Corrected a bug that made oblique dashed lines take the wrong path.
  310. • Tried to fix some problems with generalization line drawing.
  311. • Tried to fix some problems with selecting lines.
  312.  
  313. Changes in 1.2.1 (7 Jan 1997)
  314. • The Interface dialog window is now properly updated when clicking any of the
  315.    disclosure triangles.
  316. • Generating code for classes or interfaces with no operation will now work.
  317. • You can now open documents with one or several of the three main windows closed.
  318.    This caused a crash in the 1.2 version.
  319. • Perhaps the Copy Protection is more "tolerant". Now I hope it will be possible to
  320.    restart Object Plant if it crashes without having to reboot the mac.
  321.  
  322. Changes in 1.2 (31 Dec 1996)
  323. • Made it possible to select more than one attribute (or operation) in the class info
  324.    dialog using shift selection.
  325. • Added possibility to have several "icons" refering to one single class. This can be
  326.    useful when a class needs to be included in several pages. E.g. if you have a common
  327.    base class called CObject which all other classes inherits, you create the CObject
  328.    class in one page and in the other pages you use a reference class refering to the
  329.    CObject class. (Refer to the User's Manual for details.)
  330. • The above goes for interfaces too.
  331. • Added truncation of filenames so that code generation for classes with long names
  332.    works.
  333. • Removed MacsBug user breaks that occured when generating code.
  334. • Corrected a code generation bug that occured when a class had a name identical to
  335.    the name of an Object Model page. Now created folders have a ƒ letter at the end of
  336.    the name  thus reducing the possibility for this to occur. (Change in code generation
  337.    template files.)
  338. • Made it possible to add parameters to interface operations.
  339. • Added drag-and-drop to class, interface and state info windows. This can be used to
  340.    re-order attributes, operations within a class/interface or events within a state.
  341. • Corrected the bug that caused an error alert show up saying "Serious Error. Please
  342.    Report. ... ClassType: <some large number>". This happened if you opened a file by
  343.    dropping it onto Object Plant or by doubleclicking on the file.
  344. • Zooming of windows is now implemented according to Inside Macintosh. Hence
  345.    multiple screens will be handled in correct way.
  346. • Corrected at least one of the bugs that caused a crash at startup of Object Plant.
  347. • Better handling of multiple screens in the sense that if you save an Object Plant file
  348.    where you have the windows distributed over several screens and then open the file
  349.    when only one screen is available, the windows' positions are adjusted so that all
  350.    windows are visible on the available screen(s).
  351. • Data types are now case sensitive.
  352. • Some internal cleanup making Object Plant easier to maintain.
  353. • The delete key can now be used to delete selected items in the Class info dialog. If no
  354.    item (such as an attribute or operation) is selected the delete key is applied to the
  355.    active text field. This change is valid also for the Interface info window and State
  356.    info window.
  357. • Class and interface names are now written in a bold font.
  358.  
  359. Changes in 1.1.1 (4 Dec 1996)
  360. • Corrected the bug that made class descriptions not to be stored.
  361. • Made it compatible with extensions like Stretch and Church Window WDEFs.
  362. • Corrected a bug that made updates in the Class info window not work as expected.
  363. • Corrected the bug that prevented text inside notes from being printed.
  364. • Corrected a bug that made Object Plant sometimes crash when clicking in the
  365.    attributes or operations disclosure triangle.
  366. • Added FlushVol calls to make Save and Save As operations more secure.
  367. • Corrected a bug that sometimes amde Object Plant crash when deleting a class.
  368.  
  369. Changes in 1.1 (6 Nov 1996)
  370. • The generalization triangle is now directed towards the superclass regardless of the
  371.    physical position of the superclass and subclass.
  372. • Made the SUBSYSTEM tag valid in top-level and class-level in the template language.
  373. • Corrected the bug that made Object Plant crash when trying to copy an association.
  374. • Corrected the bug that made Object Plant stop with a warning popup (or break into
  375.    Macsbug) saying "Cannot create popupmenu".
  376. • Full implementation shift-clicking. If you shift-click on an already selected object it
  377.    will be deselected.
  378. • Corrected the bug that caused Object Plant not to generate code for classes below a
  379.    subsystem which did only contain subsystems and no real classes.
  380. • Lists will now show up correctly even when using monitors supporting thousands of
  381.    colours. Previously these lists were all black.
  382. • Added two new items to the Object Model diagrams: Interfaces and supplier relations.
  383. • Changed the code generation template language so that generating code with multiple
  384.    inheritance is possible.
  385. • Added "static" checkbox to attributes and operations. Affects only code generation.
  386. • Better screen updates.
  387. • Corrected other minor bugs.
  388.  
  389.  
  390. Changes in 1.0 (9 Oct 1996)
  391. • Made line movements more smooth. Straight lines are kept straight whenever
  392.    possible.
  393. • Added a DESCRIPTION tag to be used in code generation.
  394. • Corrected minor bugs.
  395.